﻿using System.Reflection;

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FamineSystem {
    public abstract class State {
        
        private bool _executeBottom = false;
        public bool executeBottom {
            get { return _executeBottom; }
            set { _executeBottom = value; }
        }

        protected State () {
            
        }

        // Called at the very beginning of the program.
        public void preinit () {}
        public void exit () {}

        // Called when state is started to execute.
        public void begin () {}
        public void end () {}

        // Called when the state is added to the state stack.
        public void load () {}
        public void unload () {}

        public void tick () {}
        public void render () {}

    }
}
